home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1999 July: Mac OS SDK / Dev.CD Jul 99 SDK1.toast / Development Kits / Mac OS / QuickTime / QuickTime 3 Interfaces & Libs / QTDevMac / CIncludes / QD3DCustomElements.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-08-21  |  3.5 KB  |  151 lines  |  [TEXT/MPS ]

  1. /*
  2.      File:        QD3DCustomElements.h
  3.  
  4.      Contains:    Custom QuickTime Elements in QuickDraw 3D                            
  5.  
  6.      Version:    Technology:    Quickdraw 3D 1.5.4
  7.                  Release:    QuickTime 3.0
  8.  
  9.      Copyright:    © 1995-1998 by Apple Computer, Inc., all rights reserved.
  10.  
  11.      Bugs?:        Please include the the file and version information (from above) with
  12.                  the problem description.  Developers belonging to one of the Apple
  13.                  developer programs can submit bug reports to:
  14.  
  15.                      devsupport@apple.com
  16.  
  17. */
  18. #ifndef __QD3DCUSTOMELEMENTS__
  19. #define __QD3DCUSTOMELEMENTS__
  20.  
  21. #ifndef __QD3D__
  22. #include <QD3D.h>
  23. #endif
  24.  
  25.  
  26.  
  27. #if PRAGMA_ONCE
  28. #pragma once
  29. #endif
  30.  
  31. #ifdef __cplusplus
  32. extern "C" {
  33. #endif
  34.  
  35. #if PRAGMA_IMPORT
  36. #pragma import on
  37. #endif
  38.  
  39. #if PRAGMA_STRUCT_ALIGN
  40.     #pragma options align=power
  41. #elif PRAGMA_STRUCT_PACKPUSH
  42.     #pragma pack(push, 2)
  43. #elif PRAGMA_STRUCT_PACK
  44.     #pragma pack(2)
  45. #endif
  46.  
  47. #if PRAGMA_ENUM_ALWAYSINT
  48.     #pragma enumsalwaysint on
  49. #elif PRAGMA_ENUM_OPTIONS
  50.     #pragma option enum=int
  51. #elif PRAGMA_ENUM_PACK
  52.     #if __option(pack_enums)
  53.         #define PRAGMA_ENUM_PACK__QD3DCUSTOMELEMENTS__
  54.     #endif
  55.     #pragma options(!pack_enums)
  56. #endif
  57.  
  58.  
  59. /******************************************************************************
  60.  **                                                                             **
  61.  **                        Name Data Structure Definitions                         **
  62.  **                                                                             **
  63.  *****************************************************************************/
  64. #define    CEcNameElementName    "Apple Computer, Inc.:NameElement"
  65.  
  66.  
  67. /******************************************************************************
  68.  **                                                                             **
  69.  **                        Custom Name Element Functions                         **
  70.  **                                                                             **
  71.  *****************************************************************************/
  72. EXTERN_API_C( TQ3Status )
  73. CENameElement_SetData            (TQ3Object                 object,
  74.                                  const char *            name);
  75.  
  76. EXTERN_API_C( TQ3Status )
  77. CENameElement_GetData            (TQ3Object                 object,
  78.                                  char **                name);
  79.  
  80. EXTERN_API_C( TQ3Status )
  81. CENameElement_EmptyData            (char **                name);
  82.  
  83.  
  84. /******************************************************************************
  85.  **                                                                             **
  86.  **                            URL Data Structure Definitions                     **
  87.  **                                                                             **
  88.  *****************************************************************************/
  89. #define    CEcUrlElementName        "Apple Computer, Inc.:URLElement"
  90.  
  91. enum TCEUrlOptions {
  92.     kCEUrlOptionNone            = 0,
  93.     kCEUrlOptionUseMap            = 1
  94. };
  95. typedef enum TCEUrlOptions TCEUrlOptions;
  96.  
  97.  
  98. struct TCEUrlData {
  99.     char *                            url;
  100.     char *                            description;
  101.     TCEUrlOptions                     options;
  102. };
  103. typedef struct TCEUrlData                TCEUrlData;
  104. /******************************************************************************
  105.  **                                                                             **
  106.  **                        Custom URL Element Functions                         **
  107.  **                                                                             **
  108.  *****************************************************************************/
  109. EXTERN_API_C( TQ3Status )
  110. CEUrlElement_SetData            (TQ3Object                 object,
  111.                                  TCEUrlData *            urlData);
  112.  
  113. EXTERN_API_C( TQ3Status )
  114. CEUrlElement_GetData            (TQ3Object                 object,
  115.                                  TCEUrlData **            urlData);
  116.  
  117. EXTERN_API_C( TQ3Status )
  118. CEUrlElement_EmptyData            (TCEUrlData **            urlData);
  119.  
  120.  
  121.  
  122.  
  123. #if PRAGMA_ENUM_ALWAYSINT
  124.     #pragma enumsalwaysint reset
  125. #elif PRAGMA_ENUM_OPTIONS
  126.     #pragma option enum=reset
  127. #elif defined(PRAGMA_ENUM_PACK__QD3DCUSTOMELEMENTS__)
  128.     #pragma options(pack_enums)
  129. #endif
  130.  
  131. #if PRAGMA_STRUCT_ALIGN
  132.     #pragma options align=reset
  133. #elif PRAGMA_STRUCT_PACKPUSH
  134.     #pragma pack(pop)
  135. #elif PRAGMA_STRUCT_PACK
  136.     #pragma pack()
  137. #endif
  138.  
  139. #ifdef PRAGMA_IMPORT_OFF
  140. #pragma import off
  141. #elif PRAGMA_IMPORT
  142. #pragma import reset
  143. #endif
  144.  
  145. #ifdef __cplusplus
  146. }
  147. #endif
  148.  
  149. #endif /* __QD3DCUSTOMELEMENTS__ */
  150.  
  151.